Collision avoidance

ABSTRACT

In a method for avoiding a collision on a job site, information is received regarding a plurality of selected entities on the job site. The information is received at a location independent from the entities. The information is evaluated to determine whether a trigger has occurred. The trigger is associated with a potential collision situation involving an entity of the entities. A collision alert message is issued for the entity if the trigger has occurred.

BACKGROUND

Presently, on a job site, such as a construction site, workers andmanagement utilize physical barriers and/or mark regions and entities ofthe job site which should site which should be avoided or not entered.For example, to protect an endangered ancient tree a worker may mark aprotected region by placing flags around the tree or else by placingstakes around the tree and stringing ropes or plastic tape between thestakes. These markings are intended to prevent a worker from enteringthe region. Obviously, some flags, stakes, rope, and/or plastic are notsufficient to stop a dozer or an earthmover from entering such aprotected region and potentially damaging. Additionally, if a worker isunaware of or cannot see the markings, this mechanism of collisionavoidance is not effective. Thus, the effectiveness of protectingregions or entities in this manner is very dependent upon workersmaintaining situational awareness, especially when operating vehicles orconstruction equipment assets.

Likewise, avoidance of a collision between one physical job site entity,such as a vehicle, and another physical job site entity, such as asecond vehicle is also heavily dependent upon situational awareness ofone or more workers. Presently, some collision avoidance measures suchas proximity alarms do exist. Such proximity alarms typically transmit asignal which can be sensed by similar alarms. Then, when one proximityalarm is in reception range of a second proximity alarm, some sort of awarning is enunciated or emitted. Such proximity alarms are helpful, buttheir use and applications are limited. This is due in part to theinherent imprecision associated with proximity sensing (e.g.,transmission and reception ranges may vary greatly from one proximityalarm to another). This is also due in part to the fact that such alarmsare not operable to react in a flexible manner based upon a variety ofsituational factors, such as speed of an entity, location on a job site,type of entity or entities involved, conditions at the job site, and/orthree-dimensional location of an entity relative to another entity.

As can be seen, presently existing forms of job site collision avoidancehave drawbacks which limit their flexibility and effectiveness.

SUMMARY

In a method for avoiding a collision on a job site, information isreceived regarding a plurality of selected entities on the job site. Theinformation is received at a location independent from the entities. Theinformation is evaluated to determine whether a trigger has occurred.The trigger is associated with a potential collision situation involvingan entity of the entities. A collision alert message is issued for theentity if the trigger has occurred.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and form a part ofthis application, illustrate embodiments of the present technology forcollision avoidance, and together with the description, serve to explainthe principles of the present technology. Unless noted, the drawingsreferred to this description should be understood as not being drawn toscale.

FIG. 1 is a block diagram of an example computer system used inaccordance with an embodiment.

FIG. 2 is a block diagram of an example collision avoidance system, inaccordance with one embodiment.

FIG. 3 is a block diagram of an example collision avoidance moduleutilized in a collision avoidance system, in accordance with oneembodiment.

FIG. 4 is an example of a displayed visual rendering of entities on ajob site, in accordance with one embodiment.

FIG. 5 is portion of an example graphical interface, in accordance withone embodiment.

FIG. 6 is a block diagram of an example collision avoidance device, inaccordance with one embodiment.

FIG. 7 is a flow diagram of an example method for avoiding a collisionon a job site, in accordance with one embodiment.

DETAILED DESCRIPTION

Reference will now be made in detail to various embodiments of thepresent technology, examples of which are illustrated in theaccompanying drawings. While the present technology will be described inconjunction with these embodiments, it will be understood that they arenot intended to limit the present technology to these embodiments. Onthe contrary, the present technology is intended to cover alternatives,modifications and equivalents, which may be included within the spiritand scope as defined by the appended claims. Furthermore, in thefollowing description, numerous specific details are set forth in orderto provide a thorough understanding of the present technology. In otherinstances, well-known methods, procedures, objects, and circuits havenot been described in detail as not to unnecessarily obscure aspects ofthe present technology.

Notation and Nomenclature

Unless specifically stated otherwise as apparent from the followingdiscussions, it is appreciated that throughout the present detaileddescription, discussions utilizing terms such as “receiving”,“evaluating”, “issuing”, “setting”, “continuing”, “comparing”,“transmitting”, “providing”, “facilitating”, “outputting”, “allowing”,“implementing”, “establishing”, or the like, refer to the actions andprocesses of a computer system (such as computer system 100 of FIG. 1),or similar electronic computing device. Computer system 100 or similarelectronic computing device manipulates and transforms data representedas physical (electronic) quantities within the computer system'sregisters and memories into other data similarly represented as physicalquantities within the computer system memories or registers or othersuch information storage, transmission, or display devices.

The present technology may be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted or executable by a computer. Generally, program modules includeroutines, programs, objects, components, data structures, etc., thatperform particular tasks or implement particular abstract data types.The present technology may also be practiced in distributed computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed computingenvironment, program modules may be located in both local and remotecomputer-storage media including memory-storage devices.

Overview of Discussion

Discussion will begin with a description of an example computer systemenvironment with which, or upon which, embodiments of the presenttechnology may operate. Discussion will proceed to a description of anexample of a collision avoidance system. A general description of theoperation of the components of this collision avoidance system will beprovided. A collision avoidance device, which can be used in conjunctionwith the collision avoidance system, will then be described. Operationof collision avoidance system and the collision avoidance device willthen be described in more detail in conjunction with a description of anexample method for avoiding a collision on a job site.

As described herein, entities may be physical entities or virtualentities which are located on or proximate to a job site. Some examplesof physical entities are buildings, structures, building materials,cranes, crane booms, vehicles, construction equipment assets, andpeople. For purposes of this specification a construction equipmentasset is defined as a piece of construction machinery, which istypically mobile. Some examples of construction equipment assetsinclude, but are not limited to: a dozer, a loader, a heavy truck (e.g.,a dump truck), a grader, a scraper, a tractor, a backhoe, and the like.

An example of a virtual entity is a virtually marked geo-fence which isassociated with two-dimensional or three-dimensional locations on orproximate to a job site. For example, such a geo-fence may exist as avirtual barrier marked around a protected physical object or region,such as an ancient tree, a saguaro cactus, or an endangered butterflyhabitat. Likewise such a geo-fence may exist as a virtual barrier markedaround a dangerous region such as a high voltage line or a job sitelocation with unstable or contaminated soil. Such a geo-fence may alsobe used in combination with a physical barrier (e.g., ropes and flags).Another example of a virtual entity is a zone or volume which isassociated with a physical entity, such a crane boom. Such an associatedvirtual entity will typically move in conjunction with movement of thephysical entity with which it is associated.

As described herein, a job site is typically a location such as aconstruction site, warehouse, freight terminal, open pit mine, wastedisposal area, factory, utility plant, and/or another distinct locationwhere workers operate entities such as construction equipment assets,vehicles, mining equipment, and/or cranes.

Example Computer System Environment

With reference now to FIG. 1, a block diagram is shown of an embodimentof an example computer system 100 which may be used in accordance withvarious embodiments described herein. It should be appreciated thatcomputing system 100 is not strictly limited to being a computer system.As such, computer system 100 of the present embodiment may be wellsuited to be any type of computing device (e.g., real time servercomputer, web server, portable computing device, desktop computer,mobile phone, pager, personal digital assistant, collision avoidancedevice, collision avoidance system, and etc.). Within the discussionsherein, certain processes and steps are discussed that are realized, inone embodiment, as a series of instructions (e.g., software program)that reside within computer readable memory units and are executed by aprocessor(s) of computing system 100. When executed, the instructionscause computer system 100 to perform specific actions and exhibitspecific behavior that may be described in detail herein.

Computer system 100 of FIG. 1 comprises an address/data bus 110 forcommunicating information, one or more central processors 102 coupledwith bus 110 for processing information and instructions. Centralprocessor unit(s) 102 may be a microprocessor or any other type ofprocessor. Computer system 100 also includes data storage features suchas a computer usable volatile memory unit 104 (e.g., random accessmemory, static RAM, dynamic RAM, etc.) coupled with bus 110 for storinginformation and instructions for central processor(s) 102, a computerusable non-volatile memory unit 106 (e.g., read only memory,programmable ROM, flash memory, EPROM, EEPROM, etc.) coupled with bus110 for storing static information and instructions for processor(s)102. Computer system 100 also includes one or more signal generating andreceiving devices 108 coupled with bus 110 for enabling computer system100 to interface with other electronic devices and computer systems. Thecommunication interface(s) 108 of the present embodiment may includewired and/or wireless communication technology.

Optionally, computer system 100 may include an alphanumeric input device114 including alphanumeric and function keys coupled to the bus 110 forcommunicating information and command selections to the centralprocessor(s) 102. Computer system 100 can include an optional cursorcontrol or cursor directing device 116 coupled to the bus 110 forcommunicating user input information and command selections to thecentral processor(s) 102. The cursor-directing device 116 may beimplemented using a number of well-known devices such as a mouse, atrack-ball, a track-pad, an optical tracking device, and a touch screen,among others. Alternatively, it is appreciated that a cursor may bedirected and/or activated via input from the alphanumeric input device114 using special keys and key sequence commands. The present embodimentis also well suited to directing a cursor by other means such as, forexample, voice commands.

Computing system 100 of FIG. 1 may also include one or more optionalcomputer usable data storage devices 118 such as a magnetic or opticaldisk and disk drive (e.g., hard drive, floppy diskette, CompactDisk-Read Only Memory (CD-ROM), Digital Versatile Disk (DVD)) coupledwith bus 110 for storing information and/or computer executableinstructions. An optional display device 112 may be coupled to bus 110of computing system 100 for displaying video and/or graphics. It shouldbe appreciated that optional display device 112 may be a cathode raytube (CRT), flat panel liquid crystal display (LCD), field emissiondisplay (FED), plasma display or any other display device suitable fordisplaying video and/or graphic images and alphanumeric charactersrecognizable to a user.

Example Collision Avoidance System

Referring now to FIG. 2, a block diagram is shown of an examplecollision avoidance system 200. As will be further described herein,system 200 may be utilized to help avoid collisions between entities ona job site.

As shown in FIG. 2, collision avoidance system 200 is comprised of adata transceiver 210, a real time server 220, and a collision avoidancemodule 230. It is appreciated that while the components of system 200are coupled together they are not required to be physically close to oneanother. For example, in one embodiment, data transceiver 210 is locatedon or proximate to a job site, while real time server 220 and collisionavoidance module 230 are located in a different town, state or countryfrom data transceiver 210. In one such example, data transceiver 210 iscoupled with real time server via transmission control protocol/internetprotocol, while real time server 220 and collision avoidance module 230are coupled together as part of a local area network.

Data transceiver 210 is configured for wirelessly receiving informationregarding a plurality of entities on a job site. Data transceiver 210operates wirelessly to receive information in one or more well knownfashions, such as via Bluetooth, via WiMax, via cellular telephone orradio, via one of the Institute of Electrical and Electronics Engineers802.1 family of standards, or via other wireless data communicationstandard or protocol. Likewise, data transceiver 210 is also operable towirelessly transmit information, such as a collision alert messagereceived from collision avoidance module 230 via real time server 220.Such a transmitted collision alert message can be transmitted to asingle entity (e.g., entity 205A) or to a plurality of entities (e.g.,entities 205A, 205B, and 205C). In one embodiment, data transceiver 210is located on or proximate to a particular job site. In anotherembodiment, data transceiver 210 is located independent from a job siteand employs a wireless communication technology (e.g., cellulartelephone or radio) to carryout communications with entities on,proximate to, or assigned to a particular job site. In some embodiments,information transceiver 210 converts information received from datatransceiver 210 into triplet information format. Such conversion isfurther described below.

With continued reference to FIG. 2, real time server 220 is showncoupled with data transceiver 210. Real time server 220 is configuredfor providing the received information in real time to a subscribedmodule, such as collision avoidance module 230, and in some embodimentsto a plurality of subscribed modules. Real time server 220 serves outreceived information in a real time fashion (nearly immediately) tosubscribed modules after the data is received. This allows subscribedmodules to make “decisions” and/or take actions based upon the servedinformation in real time (nearly contemporaneously with the occurrenceand reporting of the information). This also allows a subscribed moduleto issue instructions and/or messages based upon the information in realtime (nearly contemporaneously with the occurrence and reporting of theinformation). In some embodiments, where a conversion has not yet beenaccomplished, real time server 220 converts information received fromdata transceiver 210 into triplet information format. In one embodiment,real time server 220 is also operable to transfer information, such as acollision alert message from collision avoidance module 230 to datatransceiver 210.

Collision avoidance module 230 is coupled with real time server 220 andconfigured to receive selected portions of the information which hasbeen reported to real time server 220 via data transceiver 210. In someembodiments, this means that collision avoidance module 230 issubscribed to receive selected information (such as location and oroperation information) from one or more selected entities. Collisionavoidance module 230 is configured for evaluating selected portions ofthe information for occurrence of a trigger associated with a potentialcollision situation involving an entity (e.g., 205A) of the plurality ofentities (e.g., 205A, 205B, 205C, 205D, 205E, 205F) which datatransceiver 210 receives information regarding.

Collision avoidance module 230 is typically located independently fromthe plurality of entities (e.g., 205A, 205B, 205C, 205D, 205E, 205F)which it receives information regarding. This means that in oneembodiment collision avoidance module 230 is not part of or physicallyconnected/attached to an entity which it tracks collisions for or to acollision avoidance device 600 that is coupled with such an entity(e.g., entity 205A). In one instance, collision avoidance module 230 maybe located at the same job site as one or more of the entities aboutwhich it receives information. However, as previously described, inother instances, collision avoidance module 230 functions equally wellwhen located a great distance away from the entities about which itreceives information. Thus collision avoidance module 230 may be locatedin a different town, state, or country than one or more entity (e.g.,205A) which it receives information regarding and/or from the one ormore collision avoidance devices 600 from which it receives information.

With reference now to FIG. 3, a block diagram is shown of an examplecollision avoidance module 230, which may be utilized in collisionavoidance system 200, in accordance with one embodiment. As shown inFIG. 3, in one embodiment, collision avoidance module 230 comprises aplurality of sub-modules including a user interface 310, a triggertracker 340, and a collision alert messenger 350. As shown in FIG. 3, inone embodiment, user interface 310 further comprises sub-modulesincluding a viewer module 320, and an entity assigner 330. It isappreciated that any of the modules and/or sub-modules of collisionavoidance module 230 are capable of interacting with any or all of theother modules and/or sub-modules of collision avoidance module 230.

With continued reference to FIG. 3, user interface 310 is configured forfacilitating user interaction with and modification of settings ofcollision avoidance module 230.

For example, in one embodiment, through functionality offered by viewermodule 320, a user is able to view a real time visualization (e.g., amodel/simulation) of a work site and the entities thereon or proximatethereto which are being tracked for purposes of collision avoidance.

More specifically, viewer module 320 is configured for outputting inreal time a viewable rendering of the one or more entities for whichcollision avoidance module 230 receives information. In one embodiment,viewer module 320 outputs a viewable rendering which is formatted aseither a two-dimensional or three-dimensional rendering of theseentities with respect to the job site that the entity/entities are on orproximate to. Such a viewable rendering may also comprise other physicaland/or virtual entities that are mapped, modeled, or located on orproximate to the job site. In one embodiment, viewer module 320 outputsthe viewable rendering for viewing on a display device, such as, forexample, display device 112.

FIG. 4 shows an example of a displayed visual rendering 400 of entitieson a job site, in accordance with one embodiment. For purposes ofillustration of this concept, entities in FIG. 4 are shown at a lowlevel of detail. It is appreciated that in other embodiments, theentities of FIG. 4 may be shown at other levels of detail. In FIG. 4,displayed entity 205A represents the position of a vehicle within a jobsite bounded by geo-fence 410. Displayed entity 420 represents ageo-fence that has been established surrounding protected saguaro cactus421 (which may not be displayed in some visual representations).Displayed entity 430 represents a structure that is present on the jobsite. Displayed entity 205B represents a construction foreman's truck.Displayed entity 205C represents a crane boom of a tower crane.Displayed entity 205D represents a crane boom of a second tower crane.Displayed entity 205E represents an earthmover (a construction equipmentasset). Finally, displayed entity 205F represents a person, in this casea worker at the job site. In FIG. 4, each displayed entity is displayedeither at its modeled location, or at the location represented by themost recent location information received regarding the entity.

In one embodiment, viewer module 320 utilizes identification informationassociated with an entity to retrieve a model of the entity from adatabase of stock entity models. Thus for entity 205A, a vehicle, anappropriately sized model is retrieved. In one embodiment, viewer module320 alters the appearance of the representation of an entity in aviewable rendering in response to occurrence of a trigger associatedwith the entity. For example, viewer module 320 causes the viewablerepresentation of the entity to change in color or flash in response tooccurrence of a trigger associated with the entity. It is appreciatedthat in some embodiments, viewer module 320 may comprise a modeling andsimulation module which is separate from collision avoidance module 230.

Entity assigner 330 is configured for allowing assignment of an entityto a job site and modification of characteristics associated with theentity. Thus, in one embodiment, through functionality offered by entityassigner 330, a user is able to select which entity or entities aretracked for collision avoidance. Through entity assigner 330 a user mayassociate and/or disassociate a particular entity with the geographiclocation of a particular job site and physical and/or virtual entitiesof the particular job site. Entity assigner 330 additionally enables auser to subscribe to or unsubscribe from selected real time informationserved by real time server 220 regarding an entity.

Entity assigner 330 also allows a user to set and/or modify one or moreconditions of a trigger associated with a tracked entity. This gives auser the flexibility to change, add, or remove a trigger based uponchanging conditions, activities, or situations which may occur at a jobsite. For instance, a user may add or expand a virtual geo-fence orvirtual exclusion zone around a protected wetland region in responserain being forecast to occur at a job site. Additionally, it isappreciated that entity assigner 330 allows a user to make such changesto a trigger from a central location without contacting or interactingwith the entity on a collision avoidance device coupled with an entity.Entity assigner 330 also allows a user to assign, remove, or modify avirtual entity with respect to a job site.

FIG. 5 shows a portion of an example graphical interface 500 of entityassigner 330. As shown in graphical interface 500, names (e.g., 520,530, and 540) associated with a plurality of entities are displayed.Each named entity may be assigned or unassigned for collision avoidancetracking by interacting with a selectable region (e.g., region 521).Accompanying each named entity is a listing of the trigger or triggersassociated with that named entity. For example, triggers 522 and 524 areshown beneath named entity 520. Each trigger may be set or disabled byselecting a region displayed near the trigger (e.g., region 523).Likewise, by selecting a particular trigger, such as trigger 522,trigger conditions 550 for the trigger are displayed so that a user mayview and or modify the trigger conditions for the selected trigger.

Referring again to FIG. 3, trigger tracker 340 is configured forevaluating the information received by collision avoidance module 230.The information is evaluated for occurrence of one or more of aplurality of triggers. To do this, trigger tracker 340 evaluates thereceived information for the occurrence of the combination of conditionsof each trigger monitored by collision avoidance module 230.

Collision alert messenger 350 is configured for issuing a collisionalert message and/or collision avoidance action for one or more entitiesin response to occurrence of one of a plurality of triggers. Thus, whencollision alert messenger 350 receives notification of the occurrence ofa trigger associated with an entity, collision alert messenger 350issues a collision alert message for that entity. In some embodiments,the content of the collision alert message is dictated by a thresholdvalue associated with the trigger or by a specific collision avoidanceaction specified as part of a trigger. A collision alert messagecomprises an electronic message containing identification information todirect its transmission to one or more entities and/or a collisionavoidance device 600 coupled with an entity (or a plurality of collisionavoidances devices 600 each coupled with a separate entity). Thecollision alert message may take many forms, such as streamed data, textmessage, cellular phone call, email, or other data carrying electronicformats. The collision alert message will also typically comprise athreshold value and or a specified collision avoidance action whichshould be taken by an entity.

For example in one embodiment each trigger includes a threshold value ofbetween 1 and 10, with lower numbers indicating or associated withgreater collision danger and closer proximity to an entity. Followingthis example, in one embodiment a collision alert messages also includesa threshold scaled from 1 to 10, with lower threshold valuescorresponding to more severe collision alert messages. In oneembodiment, the threshold value of the trigger is simply incorporated asthe threshold value of the collision alert message. In anotherembodiment a specific collision avoidance action, such as “engage hazardlights,” “sound horn,” “stop engine,” “stop motor,” or “apply brakes,”is associated with a particular trigger or threshold value in a trigger,and this specific collision avoidance action is included in thecollision alert message issued upon occurrence of the trigger.

Example Job Site Collision Avoidance Device

FIG. 6 is a block diagram of an example collision avoidance device 600,in accordance with one embodiment. In one embodiment, collisionavoidance device 600 is coupled with a physical entity which operates,works, or is located on or proximate to a job site. In such anembodiment, collision avoidance device 600 operates as a job sitecollision avoidance device which interacts with collision avoidancesystem 200 (FIG. 2) to assist entities in the avoidance of collisions ona job site by increasing situational awareness and, in some instances,by intervening in the operation of a physical entity. In one embodiment,one or more of a plurality of physical entities on a job site isequipped with its own separate collision avoidance device 600.

As shown in FIG. 6, in one embodiment, job site collision avoidancedevice 600 is comprised of an information transmitter 610, a collisionalert message receiver 620, and a collision avoidance action implementer630.

Information transmitter 610 wirelessly transmits information regardingthe location and/or operation of an entity to which it is coupled. Thetransmitted information includes location information and/or operationinformation regarding the entity to which device 600 is coupled. In oneembodiment, this information is transmitted wirelessly to datatransceiver 210 of collision avoidance system 200. Informationtransmitter 610 operates to wirelessly to transmit information in one ormore well known fashions, such as via Bluetooth, via WiMax, via cellulartelephone or radio, via one of the Institute of Electrical andElectronics Engineers 802.1 family of standards, or via other wirelessdata communication standard or protocol. In one embodiment, thisinformation is transmitted on a periodic basis, such at an interval of0.1 seconds, an interval of 5 seconds, or some other interval. In oneembodiment, such information is transmitted at variable intervals, suchas more frequently when the information is changing and less frequentlywhen it remains static.

In one embodiment information transmitter 610 is coupled with a locationinformation source which provides location information regarding theentity to which device 600 is coupled. In one embodiment, the locationinformation source is included as a component or module of collisionavoidance device 600. For example, in one embodiment, informationtransmitter 610 is coupled with a global navigation satellite system(GNSS) receiver with positioning capabilities based on signals fromGalileo, GPS (Global Positioning System), Glonass, WAAS (Wide AreaAugmentation Service), Egnos and the like. Such a location informationsource provides two-dimensional and/or three-dimensional locationinformation regarding the entity to which device 600 is coupled. Such alocation information source may also provide heading and or speed of anentity.

By way of example, and not of limitation, in one embodiment, entity 205Bis a construction foreman's truck. An information transmitter 610coupled with entity 205B may transmit location information indicatingthat entity 205B is located at latitude N37.19.11 latitude, W95.29.15Longitude, and 11 meters ASL (above sea level). It is appreciated thatsuch location information may be reported in a different manner, such asan offset from a particular reference point on a job site. It is alsoappreciated that such information may be reported with a greater orlesser degree of precision.

In one embodiment information transmitter 610 is coupled with anoperation information source which provides operation informationregarding the entity to which device 600 is coupled. For example, in oneembodiment, information transmitter 610 is communicatively coupled witha J-bus, CAN (Controller Area Network) bus or other similarcommunications bus of a vehicle, crane, crane boom, or a constructionequipment asset. Such operation information may include informationwhich indicates whether the entity is operating and how fast the entityis moving, how much the entity weighs, and what mode the entity iscurrently in (e.g., lifting, hauling, grading, dumping, and etc.). Forexample, for entity 205A, information transmitter 610 may transmitoperation information indicating that entity 205A is operating, is inreverse gear, is moving at a speed of 10 meters per second, and weighs2000 Kilograms.

Collision alert message receiver 620 wirelessly receives a collisionalert message. In one embodiment, the collision alert message istransmitted from collision avoidance system 200 for the entity withwhich device 600 is coupled. Collision alert message receiver 620operates to wirelessly to receive information in one or more well knownfashions, such as via Bluetooth, via WiMax, via cellular telephone orradio, via one of the Institute of Electrical and Electronics Engineers802.1 family of standards, or via other wireless data communicationstandard or protocol. Collision alert message receiver 620 forwards areceived collision alert message to collision avoidance actionimplementer 630.

Collision avoidance action implementer 630 implements a collisionavoidance action in response to receiving a collision alert message. Thepurpose of implementing a collision avoidance action is to avoid apotential collision between a first entity on a job site and a secondentity on a job site. Collision avoidance action implementer 630 iscapable of implementing collision avoidance actions including: anoperator notification, an audible warning, a visible warning, and anentity operation intervention (e.g., a machine control action tointervene in the operation of one or more entities for the purpose ofavoiding a collision).

Example Method of Operation

The following discussion sets forth in detail the operation of someexample systems, devices, and methods of operation of embodimentsdescribed herein. With reference to FIG. 7 and flow diagram 700, examplesteps used by various embodiments of the present technology areillustrated. Flow diagram 700 describes a process that, in variousembodiments, is carried out by a processor under the control ofcomputer-readable and computer-executable instructions. Thecomputer-readable and computer-executable instructions reside, forexample, in data storage features such as computer usable/readablevolatile memory 104, computer usable/readable non-volatile memory 106,or computer useable/readable storage device 118 of computer system 100(all shown in FIG. 1). The computer-readable and computer-executableinstructions, which may reside on computer useable/readable media, areused to control or operate in conjunction with, for example, processor102 of FIG. 1. Although specific steps are disclosed in flow diagram700, such steps are examples. That is, embodiments are well suited toperforming various other steps or variations of the steps recited. It isappreciated that the steps in flow diagram 700 may be performed in anorder different than presented, and that not all of the steps in flowdiagram 700 may be performed.

Avoiding a Collision on a Job Site

FIG. 7 illustrates a flow diagram 700 of an example method for avoidinga collision on a job site, in accordance with one embodiment. In theexamples provide below, the operation of method of flow diagram isillustrated 700 utilizing the functionality of system 200 and device 600to avoid a potential collision between an entity and a second entity ona job site.

At 710 of flow diagram 700, in one embodiment, the method receivesinformation regarding a plurality of selected entities on a job site.The information is received at a location independent from the entities.For example, one embodiment utilizes data transceiver 210 to wirelesslyreceive information regarding a plurality of entities on a job site.Data transceiver 210 then forwards received information to real timeserver 220, which then in turn forwards the information to a subscribedmodule, such as collision avoidance module 230. This succinctlyillustrates one example of a manner in which collision avoidance module230 receives information regarding one or more of a plurality of assetson a job site.

In one embodiment, data transceiver 210 may receive information from asingle entity (e.g., 205A), such as a vehicle. For example, datatransceiver 210 receives such information from a collision avoidancedevice, such as collision avoidance device 600 (FIG. 6), which iscoupled to the entity. In another embodiment, data transceiver 210receives information from a plurality of entities (e.g., 205A, 205B,205C, 205D, 205E, 205F, and etc.). For example, data transceiver 210receives such information from a plurality of collision avoidancedevices (such as collision avoidance device 600), each coupled to one ofa plurality of entities which are on or proximate to a job site. In suchan embodiment, each collision avoidance device 600 transmits informationto data transceiver 210 regarding the entity to which is coupled.

The received information may comprise location information regarding anentity and/or operation information regarding an entity equipped with acollision avoidance device 600. In one example, when a crane boom or itscrane is equipped with a collision avoidance device, the receivedinformation comprises the location of a crane boom in three dimensions,and/or the operation of the crane boom (e.g., loaded and swingingclockwise at 2 meters per second). In another example, this may comprisethe location of a vehicle or construction equipment asset in two orthree dimensions, along with operation information (e.g., vehiclerunning and moving Northwest at 20 meters per second). In yet anotherexample, this information comprises a two-dimensional orthree-dimensional location of a person carrying a collision avoidancedevice.

In some embodiments, the information is forwarded from data transceiver210 to real time server 220 and then to collision avoidance module 230in the same data format and/or context in which the information isreceived by data transceiver 210.

In other embodiments, collision avoidance module 230 receives theinformation in a triplet data format, where the triplet data formatcomprises an entity identification field, a value field, and a unitsfield associated with the value field. For example, data transceiver 210parses the received information and converts it into a uniform contextcalled “triplet information,” or otherwise known as “triplets,” “tripletformat,” or “triplet data,” and then forwards the triplet information.Triplet information is formatted with an entity identification field, avalue field, and a units field associated with the value field(typically in that order). For example, data transceiver 210 parses andconverts to triplet information, from a received communication regardingthe two-dimensional location and operation of entity 205A, a vehicle. Itis appreciated that the entity identification field may be identify anentity at a top level or else identify a more specific measure of aquantity or a quality associated with an entity. For example, the entityidentification may identify a certain vehicle such as a particularbulldozer in a fleet of bulldozers (e.g., “bulldozer_(—)75”). The entityidentification may also be a more specific entity quantityidentification or entity quality identification. An example of an entityquantity identification is the fuel level of a vehicle such as theparticular bull dozer (e.g., “bulldozer_(—)75_fuel”). An example of anentity quality identification is the directional heading of a vehiclesuch as the particular bull dozer (e.g., “bulldozer_(—)75_heading”).

Examples of resulting location information triplets for entity 205A areshown in Table 1. Some examples of operation information tripletspertaining to entity 205A are shown in Table 2. It is appreciated thatsuch triplet information shown in Tables 1 and 2 may be parsed andconverted from a variety of data formats such as steaming data,encrypted data, text files, email messages, and other data formats. Suchtriplets as shown in Tables 1 and 2 are then forwarded by datatransceiver 210 to real time server 220. The unit portion of the tripletdata may be optional if all the applications in the network assume aknown unit system (e.g., Metric, English, etc). Thus, it is appreciatedthat in other embodiments, collision avoidance module 230 may receiveinformation in other formats, such as a duet format comprised of anentity quantity identification/entity quality identification and thevalue (e.g., a duet).

TABLE 1 Examples of Location Information Converted to TripletInformation Format I.D. Value Units Vehicle1_n, 37.19.10, North LatitudeVehicle1_e, 95.29.15, West Longitude Vehicle1_h, 110, DirectionalHeading in Degrees

TABLE 2 Examples of Operation Information Converted to TripletInformation Format I.D. Value Units Vehicle1_w, 2000, KilogramsVehicle1_spd,  25, Meters Per Second

Converting received information into a triplets format is not requiredby the presented technology. However, converting received informationinto triplets format allows information received in a wide variety offormats to be standardized to a single format, thus eliminatingrepetitive parsing of the information at follow-on stages of processingwhich utilize the information. Additionally, converting and working withinformation in triplets format eliminates surplus data that is oftenreceived along with received information. It follows that by reducingthe overall amount of data in this fashion, the rapidity of informationcommunication/transmission may be increased and/or the bandwidthrequirements for communication/transmission of information may bedecreased; both of which are beneficial to the conduct of real timeoperations.

At 720 of flow diagram 700, in one embodiment, the method evaluates theinformation to determine whether a trigger has occurred. The trigger isassociated with a potential collision situation involving an entity ofthe entities for which information has been received by collisionavoidance module 230. In one embodiment, this comprises collisionavoidance module 230 evaluating selected portions of the information ithas received. For example, trigger tracker 340 evaluates receivedinformation for the occurrence of a trigger associated with a potentialcollision situation involving an entity (e.g., 205A) of the plurality ofentities (e.g., 205A, 205B, 205C, 205D, 205E, 205F) which collisionavoidance module 230 subscribes to and receives information regarding.To do this, trigger tracker 340 evaluates the information received incollision avoidance module 230 for the occurrence of the combination ofconditions of each trigger monitored by collision avoidance module 230.

A trigger is a condition or set of conditions regarding the operation ofan entity with respect to another entity, the occurrence of whichtriggers a collision alert message. A trigger is based upon situationalfactors obtainable from the selected information, such as speed of anentity, location on a job site, type of an entity, type of anotherentity near the entity (e.g., an a second entity that the first entitymay be on a collision course with), and/ortwo-dimensional/three-dimensional location of an entity relative toanother entity. In response to a set of conditions being met foroccurrence of a trigger, collision avoidance module 230 issues apre-selected collision alert message or action command to at least oneentity. It is appreciated that such a trigger can be set or modifiedutilizing entity assigner 330.

The evaluation of information to determine whether a trigger hasoccurred can include, but is not limited to: evaluating a location of anentity on a job site to determine whether a trigger has occurred;comparing the location of an entity with a location of a second entityof plurality of selected (tracked) entities to determine whether atrigger has occurred; comparing the location of an entity to a locationof a virtual entity to determine whether a trigger has occurred;evaluating operation information of an entity to determine whether atrigger has occurred.

In one embodiment, for example, entity 205A is a vehicle on a job site.During a day when blasting is being conducted on the job site, a triggeris set to occur for entity 205A if it enters a zone that is within 100meters of the coordinates of a blasting area on the job site. Thus, inan instance where received information indicates that entity 205A iswithin 95 meters of the coordinates of the blasting area, triggertracker 340 will evaluate the received information and determine thatthis trigger has occurred. Trigger tracker 340 then reports theoccurrence of this trigger to collision alert messenger 350. This is anexample of evaluating a location of an entity on a job site to determinewhether a trigger has occurred.

In another embodiment, for example, entity 205C is the crane boom of afirst tower crane at a job site and entity 205D is the crane boom of asecond tower crane at the same job site. A trigger is set to occur forentity 205C whenever another entity of the job site enters a zoneextending in a 10 meter three-dimensional volume surrounding entity205C. Thus, in an instance where received information from either entity205C or entity 205D indicates that entity 205C is within nine meters ofentity 205D, trigger tracker 340 will evaluate the received informationand determine that this trigger has occurred. Trigger tracker 340 thenreports the occurrence of this trigger to collision alert messenger 350.This is an example of comparing the location of an entity with alocation of a second entity of plurality of selected (tracked) entitiesto determine whether a trigger has occurred.

In yet another embodiment, for example, entity 205E is a constructionequipment asset such as an earth mover. With reference to displayedviewable rendering 400 of FIG. 4, a saguaro cactus 401 is surrounded bya geo-fence 420. A trigger is set to occur for entity 205E if it isoperating in reverse and enters a location within geo-fence 420. Thus,in an instance where received information indicates that entity 205E iswithin geo-fence 420, trigger tracker 340 will evaluate the receivedinformation and determine that this trigger has occurred. Triggertracker 340 then reports the occurrence of this trigger to collisionalert messenger 350. This is an example of comparing the location of theentity to a location of a virtual entity to determine whether a triggerhas occurred. This is also an example of evaluating operationinformation of an entity to determine whether a trigger has occurred.

At 730 of flow diagram 700, in one embodiment, the method issues acollision alert message for the entity if the trigger has occurred. Inone embodiment, collision alert messenger 350 issues a collision alertmessage in response to being notified by trigger tracker 340 of theoccurrence of a trigger. In some embodiments, the type and content ofthe collision alert message are dictated by a threshold associated withthe trigger or a specific collision avoidance action specified as partof a trigger. In one embodiment, the issued collision message is routedvia real time server 220 to data transceiver 210, which then wirelesslytransmits the collision alert message for an entity. In one embodiment,this comprises transmitting the collision alert message to a collisionavoidance device 600 coupled with an entity. As previously described,information transceiver 210 may be on or proximal to a job site, orlocated a great distance from a job site. Additionally, as previouslydescribed, information transceiver 210 is typically located independentof the location of an entity from which it receives information/to whichit transmits information. Thus, in one embodiment, the collision alertmessage is wirelessly transmitted from a location independent of theentity or entities to which the message is being transmitted.

Following the previous example involving vehicle 205A, collision alertmessenger 350 receives notification of the occurrence of a triggerassociated with entity 205A. In response, collision alert messenger 350issues a collision alert message (collision alert message A) for entity205A.

Following the previous example involving crane booms 205C and 205D,collision alert messenger 350 receives notification of the occurrence ofa trigger associated with entity 205C. In response, collision alertmessenger 350 issues a collision alert message (collision alert messageB) for entity 205C.

Following the previous example involving earth mover 205E, collisionalert messenger 350 receives notification of the occurrence of a triggerassociated with entity 205E. In response, collision alert messenger 350issues a collision alert message (collision alert message C) for entity205E.

In one embodiment, the method of flow diagram 700 further comprisessetting a condition for occurrence of a trigger. As previouslydiscussed, the conditions for occurrence of a trigger can be set ormodified utilizing entity assigner 330. In some instances, the sometriggers and conditions thereof are automatically set based uponpre-defined safe operating conditions and rule for a particular type ofentity. For example, a an automatic trigger may exist such that acollision alert message is generated anytime earth mover 205E isoperated in reverse within 5 meters of person, such as person 205F, whois being tracked by collision avoidance module 230. In one embodiment,in response to muddy conditions on a job site, a user may add a secondtrigger to occur when earthmover 205E is operated in reverse within 10meters of person 205F.

In one embodiment the method of flow diagram 700 further comprises,continuing the receiving and evaluating, which was described inconjunction with flow diagram steps 710 and 720, to determine whether anadditional trigger has occurred, and issuing an additional collisionalert message if the additional trigger has occurred. The additionaltrigger being an additional potential collision situation involving theentity.

Referring to the example illustrated above by earthmover 205E, in oneembodiment, when earthmover 205E is operated in reverse within 10 metersof person 205F, a condition for a first trigger will have occurred. Inresponse to evaluating received information, trigger tracker 340notifies collision alert messenger regarding the occurrence of the firsttrigger. Collision alert messenger 350 sends out an appropriatecollision alert message (collision alert message D) in response to theoccurrence of this first trigger. If earthmover 205E is then operateduntil it is within 5 meters of person 205F, a second condition will havebeen met for a second trigger to occur. In response to continuing toevaluate received information, trigger tracker 340 notifies collisionalert messenger regarding the occurrence of the second trigger.Collision alert messenger 350 sends out an appropriate collision alertmessage (collision alert message E) in response to the occurrence ofthis second trigger.

In one embodiment the method of flow diagram 700 further comprises,receiving a collision alert message at an entity, and in response to thecollision alert message, automatically implementing a collisionavoidance action at the entity. The collision alert avoidance action ismeant to assist in avoiding a collision between a first entity and asecond entity on a job site.

It is appreciated that the first entity may be a person, a vehicle, acrane, a crane boom, a construction equipment asset, or another staticor mobile physical entity on or proximate to a job site. The secondentity to be avoided may likewise be a person, a vehicle, a crane, acrane boom, a construction equipment asset, or another static or mobilephysical entity on or proximate to a job site. Additionally either thefirst entity or the second entity to be avoided may comprise a virtualentity such as a geo-fence or other virtual boundary established on orproximate to a job site.

In one embodiment, the collision alert message is transmitted fromcollision avoidance system 200 for the entity with which a collisionavoidance device 600 is coupled. In such an embodiment, collision alertmessage receiver 620 is used to wirelessly receive the collision alertmessage. Collision alert message receiver 620 then forwards this messageto collision avoidance action implementer 630.

Collision avoidance action implementer 630 implements a collisionavoidance action at an entity in response to receiving a collision alertmessage for the entity. Collision avoidance action implementer 630 iscapable of implementing collision avoidance actions including: anoperator notification, an audible warning, a visible warning, and anentity operation intervention (e.g., a machine control action tointervene in the operation of one or more entities for the purpose ofavoiding a collision).

In some embodiments, the nature of the collision avoidance actionimplemented is specified by the collision alert message. In otherembodiments, the nature of the collision avoidance action depends uponthe threshold value included in the collision alert message and therange of collision avoidance actions available with respect to aparticular entity with which collision avoidance action implementer 630is coupled. Thus, in an embodiment where a wide range of collisionavoidance actions are available, differing collision avoidance actions(or combinations of collision avoidance actions) may be associated withdifferent threshold values. Conversely, where only one collisionavoidance action is available, that single collision avoidance actionmay be associated with a wide range or all threshold values.

In one embodiment, in response to receiving a collision alert message,collision avoidance action implementer 630 implements a collisionavoidance action which provides an operator notification. An example ofsuch an operator notification is a text message on a display (e.g., on acomputer display, a cellular telephone display, or a display coupled todevice 600). Another example of an operator notification is a vibration(e.g., a vibrating cellular phone, collision avoidance device 600,steering mechanism, or seat). In one embodiment, an operatornotification in the form of a message stating, “Collision Imminent!” isdisplayed on a display of an entity, in response to receiving collisionalert message A. In one embodiment, an operator notification in the formof a vibrating driver's seat is taken in response to receiving collisionalert message D.

In one embodiment, in response to receiving a collision alert message,collision avoidance action implementer 630 implements a collisionavoidance action which provides an audible warning. Some examples of anaudible warning include a specific ring on a cellular telephone; ahonking of a horn attached to an entity; and an audible announcement orwarning tone enunciated from a speaker coupled to an entity or to acollision avoidance device 600. In one embodiment, an audible warning inthe form of honking a horn is taken in response to receiving collisionalert message C.

In one embodiment, in response to receiving a collision alert message,collision avoidance action implementer 630 implements a collisionavoidance action which provides a visible warning. Some examples of avisible warning include: flashing the dash lights or other interiorlights; engaging hazard lights, flashing or otherwise engaging headlampsor other external illumination devices an entity; illuminating a warningindicator on or within an entity; illuminating a yellow or red indicatorof a “virtual stoplight” (e.g., a panel comprised of red, yellow, andgreen indicator lights and mounted on or within a vehicle), andilluminating a warning indicator coupled to a collision avoidance device600. In one embodiment, a visible warning in the form of illuminating awarning light is taken in response to receiving collision alert messageE.

In one embodiment, in response to receiving a collision alert message,collision avoidance action implementer 630 implements a collisionavoidance action which intervenes into the operation of the first entityfor the purpose of averting a collision with the second entity. In oneembodiment, for example, collision avoidance action implementer 630 iscoupled with a J-bus, CAN-bus or other communication bus linked to amotor, engine, steerage, and/or braking system of a vehicle, crane,crane boom, or a construction equipment asset. Via such a coupling to acommunication bus or via other mechanical, electrical, orelectro-mechanical coupling to such systems, collision avoidance actionimplementer 630 implements a collision avoidance action, such as:limiting or halting revolutions of a motor or engine, limiting upperspeed of an vehicle or construction equipment asset, applying a brake,halting or slowing radial swing of a crane boom, and/or adjusting adirection of travel of an entity or a portion of an entity. In oneembodiment, an entity operation intervention action in the form of astopping the movement of crane boom 205C is taken in response toreceiving collision alert message B.

Some other examples of intervening in the operation of an entity,include governing the top speed of a vehicle or construction equipmentasset when inside a region protected by a geo-fence; applying brakes invehicle or construction equipment asset to avoid a collision with aperson or another vehicle or construction equipment asset; stopping orslowing second vehicle or construction equipment asset to avoid acollision with a first vehicle or construction equipment asset, stoppingor slowing multiple vehicles or construction equipment assets to avoid acollision between two or more of the multiple vehicles or constructionequipment assets; and stopping or slowing the movement/rotation of acrane boom to avoid a collision with another crane boom, building,vehicle, virtual protected region, or construction equipment asset.

Embodiments of the present technology are thus described. While thepresent technology has been described in particular embodiments, itshould be appreciated that the present technology should not beconstrued as limited by such embodiments, but rather construed accordingto the following claims.

1. A method for avoiding a collision on a job site, said methodcomprising: receiving information regarding a plurality of selectedentities on a job site, said information received at a locationindependent from said entities; evaluating said information to determinewhether a trigger has occurred, said trigger associated with a potentialcollision situation involving an entity of said entities, wherein saidreceived information includes operation information received regardingsaid entity; and issuing a collision alert message for said entity ifsaid trigger has occurred.
 2. The method as recited in claim 1, furthercomprising: setting a condition for occurrence of said trigger.
 3. Themethod as recited in claim 1, further comprising: continuing saidreceiving and evaluating to determine whether an additional trigger hasoccurred, said additional trigger associated with an additionalpotential collision situation involving said entity; and issuing anadditional collision alert message if said additional trigger hasoccurred.
 4. The method as recited in claim 1, further comprising:receiving said collision alert message at said entity; and in responseto said collision alert message, automatically implementing a collisionavoidance action at said entity.
 5. The method as recited in claim 4,wherein said automatically implementing a collision avoidance action atsaid entity comprises: implementing an action from the list of actionsconsisting of: an operator notification, a visible warning, an audiblewarning, an intervention into the operation of said entity, and anintervention into the operation of another entity.
 6. The method asrecited in claim 1, wherein said receiving information regarding aplurality of selected entities on a job site comprises: receiving saidinformation in a triplet data format, said triplet data formatcomprising an entity identification field, a value field, and a unitsfield associated with said value field.
 7. The method as recited inclaim 1, wherein said receiving information regarding a plurality ofselected entities on a job site comprises: receiving locationinformation regarding said entity.
 8. The method as recited in claim 1,wherein said evaluating said information to determine whether a triggerhas occurred comprises: evaluating a location of said entity on said jobsite to determine whether said trigger has occurred.
 9. The method asrecited in claim 8, wherein said evaluating a location of said entity onsaid job site to determine whether said trigger has occurred comprises:comparing said location of said entity with a location of a secondentity of said plurality of selected entities to determine whether saidtrigger has occurred.
 10. The method as recited in claim 8, wherein saidevaluating a location of said entity on said job site to determinewhether said trigger has occurred comprises: comparing said location ofsaid entity to a location of a virtual entity to determine whether saidtrigger has occurred.
 11. The method as recited in claim 8, furthercomprising: evaluating said operation information of said entity todetermine whether said trigger has occurred.
 12. The method as recitedin claim 8, further comprising: evaluating operation information of asecond entity to determine whether said trigger has occurred.
 13. Themethod as recited in claim 1, wherein said issuing a collision alertmessage for said entity if said trigger has occurred comprises:wirelessly transmitting said collision alert message from said locationindependent of said entities.
 14. A tangible computer-readable storagemedium having computer-executable instructions stored thereon, which,when executed, cause a computing system to perform a method for avoidinga collision on a job site, said method comprising: receiving informationregarding a plurality of selected entities on a job site, saidinformation received at a location independent from said entities;evaluating said information to determine whether a trigger has occurred,said trigger associated with a potential collision situation involvingan entity of said entities, wherein said evaluating includes comparing alocation of said entity to a location of a virtual entity to determinewhether said trigger has occurred; and issuing a collision alert messagefor said entity if said trigger has occurred.
 15. The tangiblecomputer-readable storage medium of claim 14, wherein said methodfurther comprises: setting a condition for occurrence of said trigger.16. The tangible computer readable storage medium of claim 14, whereinsaid method further comprises: continuing said receiving and evaluatingto determine whether an additional trigger has occurred, said additionaltrigger associated with an additional potential collision situationinvolving said entity; and issuing an additional collision alert messageif said additional trigger has occurred.
 17. The tangible computerreadable storage medium of claim 14, wherein said receiving informationregarding a plurality of selected entities on a job site comprises:receiving said information in a triplet data format, said triplet dataformat comprising an entity identification field, a value field, and aunits field associated with said value field.
 18. The tangible computerreadable storage medium of claim 14, wherein said receiving informationregarding a plurality of selected entities on a job site comprises:receiving location information regarding said entity.
 19. The tangiblecomputer readable storage medium of claim 14, wherein said receivinginformation regarding a plurality of selected entities on a job sitecomprises: receiving operation information regarding said entity. 20.The tangible computer readable storage medium of claim 14, wherein saidevaluating said information to determine whether a trigger has occurredcomprises: evaluating a location of said entity on said job site todetermine whether said trigger has occurred.
 21. The tangible computerreadable storage medium of claim 20, wherein said evaluating a locationof said entity on said job site to determine whether said trigger hasoccurred comprises: comparing said location of said entity with alocation of a second entity of said plurality of selected entities todetermine whether said trigger has occurred.
 22. The tangible computerreadable storage medium of claim 20, further comprising: evaluatingoperation information of said entity to determine whether said triggerhas occurred.
 23. The tangible computer readable storage medium of claim20, further comprising: evaluating operation information of a secondentity to determine whether said trigger has occurred.
 24. A collisionavoidance system, said system comprising: a data transceiver configuredfor receiving information regarding a plurality of entities on a jobsite; a real time server coupled with said data transceiver, said realtime server configured for providing said information in real time to asubscribed module; and a collision avoidance module coupled with saidreal time server and subscribed to receive selected portions of saidinformation, said collision avoidance module configured for evaluatingsaid information for occurrence of a trigger associated with a potentialcollision situation involving an entity of said entities, said collisionavoidance module further configured for issuing a collision alertmessage to at least one entity upon the occurrence of said trigger. 25.The system of claim 24, wherein said data transceiver is furtherconfigured to wirelessly transmit said collision alert message to saidat least one entity.
 26. The system of claim 24, wherein said collisionavoidance module is located independently from said plurality ofentities.
 27. The system of claim 24, wherein said collision avoidancemodule comprises: a user interface configured for facilitating userinteraction with and modification of settings of said collisionavoidance module.
 28. The system of claim 27, wherein said userinterface comprises: a viewer module configured for outputting aviewable rendering of said entities with respect to said job site. 29.The system of claim 27, wherein said user interface comprises: an entityassigner configured for allowing assignment of an entity to said jobsite and modification of characteristics associated with said entity.30. The collision avoidance system of claim 24, wherein said collisionavoidance module comprises: a trigger tracker configured for evaluatingsaid information for occurrence of a plurality of triggers.
 31. Thecollision avoidance system of claim 24, wherein said collision avoidancemodule comprises: a collision alert messenger configured for issuing acollision alert message in response to occurrence of one of a pluralityof triggers.
 32. A job site collision avoidance device, said devicecomprising: a means for wirelessly transmitting information regarding anentity with which said device is coupled, said information transmittedto a collision avoidance system located independent from said entity; alocation information source coupled with said means for wirelesslytransmitting information, said location information source for providinglocation information regarding said entity; a means for wirelesslyreceiving an collision alert message transmitted to said entity fromsaid collision avoidance system; and a means for implementing acollision avoidance action to avoid a collision involving said entityand a second entity of said job site, said collision avoidance actioninitiated in response to receiving said collision alert message.
 33. Thedevice of claim 32, wherein said information comprises said locationinformation.
 34. The device of claim 32, wherein said informationcomprises operation information.
 35. The device of claim 32, whereinsaid entity comprises a person.
 36. The device of claim 32, wherein saidentity comprises a vehicle.
 37. The device of claim 32, wherein saidentity comprises a crane boom.
 38. The device of claim 32, wherein saidentity comprises a construction equipment asset.
 39. The device of claim32, wherein said second entity comprises a physical entity.
 40. Thedevice of claim 32, wherein said second entity comprises a virtualentity.
 41. The device of claim 32, wherein said a means forimplementing a collision avoidance action to avoid a collision involvingsaid entity and a second entity of said job site comprises: a means fornotifying an operator.
 42. The device of claim 32, wherein said a meansfor implementing a collision avoidance action to avoid a collisioninvolving said entity and a second entity of said job site comprises: ameans for providing an audible warning.
 43. The device of claim 32,wherein said a means for implementing a collision avoidance action toavoid a collision involving said entity and a second entity of said jobsite comprises: a means for providing a visible warning.
 44. The deviceof claim 32, wherein said a means for implementing a collision avoidanceaction to avoid a collision involving said entity and a second entity ofsaid job site comprises: a means for intervening into the operation ofsaid entity for the purpose of avoiding said collision.
 45. A job sitecollision avoidance device, said device comprising: a means forwirelessly transmitting information regarding an entity with which saiddevice is coupled, said information transmitted to a collision avoidancesystem located independent from said entity; a means for wirelesslyreceiving an collision alert message transmitted to said entity fromsaid collision avoidance system; and a means for implementing acollision avoidance action to avoid a collision involving said entityand a second entity of said job site, said collision avoidance actioninitiated in response to receiving said collision alert message, whereinsaid second entity is a virtual entity.
 46. The device of claim 45,further comprising a location information source coupled with said meansfor wirelessly transmitting information, said location informationsource for providing location information regarding said entity.
 47. Thedevice of claim 45, wherein said information comprises locationinformation.
 48. The device of claim 45, wherein said informationcomprises operation information.
 49. The device of claim 45, whereinsaid entity comprises a person.
 50. The device of claim 45, wherein saidentity comprises a vehicle.
 51. The device of claim 45, wherein saidentity comprises a crane boom.
 52. The device of claim 45, wherein saidentity comprises a construction equipment asset.
 53. The device of claim45, wherein said entity comprises a physical entity.
 54. The device ofclaim 45, wherein said entity comprises a virtual entity.
 55. The deviceof claim 45, wherein said means for implementing a collision avoidanceaction to avoid a collision involving said entity and a second entity ofsaid job site comprises a means selected from the group of means foravoiding a collision action consisting of: a means for notifying anoperator, a means for providing an audible warning, a means forproviding a visible warning, and a means for intervening into theoperation of said entity for the purpose of avoiding said collision. 56.A method for avoiding a collision on a job site, said method comprising:receiving information regarding a plurality of selected entities on ajob site, said information received at a location independent from saidentities; evaluating said information to determine whether a trigger hasoccurred, said trigger associated with a potential collision situationinvolving an entity of said entities, wherein said evaluating includescomparing a location of said entity to a location of a virtual entity todetermine whether said trigger has occurred; and issuing a collisionalert message for said entity if said trigger has occurred.
 57. Themethod as recited in claim 56, further comprising: setting a conditionfor occurrence of said trigger.
 58. The method as recited in claim 56,further comprising: continuing said receiving and evaluating todetermine whether an additional trigger has occurred, said additionaltrigger associated with an additional potential collision situationinvolving said entity; and issuing an additional collision alert messageif said additional trigger has occurred.
 59. The method as recited inclaim 56, further comprising: receiving said collision alert message atsaid entity; and in response to said collision alert message,automatically implementing a collision avoidance action at said entity.60. The method as recited in claim 59, wherein said automaticallyimplementing a collision avoidance action at said entity comprises:implementing an action from the list of actions consisting of: anoperator notification, a visible warning, an audible warning, anintervention into the operation of said entity, and an intervention intothe operation of another entity.
 61. The method as recited in claim 56,wherein said receiving information regarding a plurality of selectedentities on a job site comprises: receiving said information in atriplet data format, said triplet data format comprising an entityidentification field, a value field, and a units field associated withsaid value field.
 62. The method as recited in claim 56, wherein saidreceiving information regarding a plurality of selected entities on ajob site comprises: receiving location information regarding saidentity.
 63. The method as recited in claim 56, wherein said receivinginformation regarding a plurality of selected entities on a job sitecomprises: receiving operation information regarding said entity. 64.The method as recited in claim 56, wherein said evaluating saidinformation to determine whether a trigger has occurred comprises:evaluating a location of said entity on said job site to determinewhether said trigger has occurred.
 65. The method as recited in claim64, wherein said evaluating a location of said entity on said job siteto determine whether said trigger has occurred comprises: comparing saidlocation of said entity with a location of a second entity of saidplurality of selected entities to determine whether said trigger hasoccurred.
 66. The method as recited in claim 64, further comprising:evaluating operation information of said entity to determine whethersaid trigger has occurred.
 67. The method as recited in claim 64,further comprising: evaluating operation information of a second entityto determine whether said trigger has occurred.
 68. The method asrecited in claim 56, wherein said issuing a collision alert message forsaid entity if said trigger has occurred comprises: wirelesslytransmitting said collision alert message from said location independentof said entities.